Information-retrieval systems, methods, and software with content relevancy enhancements

ABSTRACT

The present inventors devised, among other things, systems, methods, and software for enhancing the relevancy of content presented to users in response to queries in an online information retrieval system. One exemplary system refines a user input query by making suggestions of alternatives queries, classifying the query using language processing, or selecting one or more databases or search engines as targets for the refined query. A switchboard module converts the refined query, administers one or more searches, and collects search results from one or more search engines based on the refined query. And, a post-processor module refines the collected search results by, for example, modifying the order of the results, removing inappropriate or undesirable content from the results, and/or applying historical performance analysis.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to U.S. provisional application60/844,534, which was filed on Sep. 14, 2006 and which is incorporatedherein by reference.

COPYRIGHT NOTICE AN PERMISSION

A portion of this patent document contains material subject to copyrightprotection. The copyright owner has no objection to the facsimilereproduction by anyone of the patent document or the patent disclosure,as it appears in the Patent and Trademark Office patent files orrecords, but otherwise reserves all copyrights whatsoever. The followingnotice applies to this document: Copyright© 2006, Thomson GlobalResources, an entity organized under the laws of Ireland.

TECHNICAL FIELD

Various embodiments of the present invention concerninformation-retrieval systems and related query processing componentsand methods.

BACKGROUND

The growth in popularity of the Internet and other computer networks hasfueled not only an increasing availability, but an increasing appetiteamong computer users for digital information. Users typically seekaccess to this information using an access device, such a computer, tocommunicate with an online information-retrieval system. Theinformation-retrieval system typically includes a graphical userinterface for entering and submitting requests for information, known asqueries, to a remote search engine. The search engine identifiesrelevant information, typically in the form of documents, and returns aresults list to the user's access device.

One problem that the present inventors recognized in conventionalinformation-retrieval systems concerns users entering poorly definedqueries and receiving search results that include hundreds or maybe eventhousands of documents. Even though the documents are often ranked interms of quantitative relevance to the query, the task of identifyingthe documents most pertinent to the user's objective is onerous and timeconsuming. Moreover, if the query is poorly defined, the ultimateranking of results is unlikely to be useful.

Accordingly, the inventors have identified a need to further improve howinformation-retrieval systems process user queries.

SUMMARY

To address this and/or other needs, the present inventors devised, amongother things, systems, methods, and software for enhancing the relevancyof content presented to users in response to queries in an onlineinformation retrieval system. One exemplary system includes a databaseand a server for receiving and answering queries for content n thedatabase. The server further includes a preprocessing module, aswitchboard module, and a post-processing module. The preprocessingmodule refines a user input query by making suggestions of alternativesqueries, classifying the query using language processing, or selectingone or more portions of the legal-research database or search engines asa target for the refined query; The switchboard module converts therefined query and associated information developed by the pre-processormodule, administers one or more searches, and collects search resultsbased on the refined query. The post-processor module receives searchresults based on the refined input query and refines the search results.Exemplary modifications include modifying the order of the searchresults, removing inappropriate or undesirable content from the results,and/or applying historical performance analysis to improve the relevanceof the information presented to the user.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of an exemplary information-retrieval system100 which corresponds to one or more embodiments of the presentinvention.

FIG. 2 is a flow chart of an exemplary method of operating system 100,which corresponds to one or more embodiments of the present invention.

FIG. 3 is a conceptual diagram of a three-dimensional relevance datastructure 300 that is used within system 100 and which corresponds toone or more embodiments of the present invention.

FIG. 4 is an alternative block diagram of various components of system100, which highlights various data flows and which corresponds to one ormore embodiments of the invention.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENT(S)

This document describes one or more specific embodiments of aninvention. These embodiments, offered not to limit but only to exemplifyand teach the invention, are shown and described in sufficient detail toenable those skilled in the art to implement or practice the invention.Thus, where appropriate to avoid obscuring the invention, thedescription may omit certain information known to those of skill in theart.

Exemplary Information-Retrieval System

FIG. 1 shows an exemplary online information-retrieval system 100.System 100 includes one or more databases 110, one or more servers 120,and one or more access devices 130.

Exemplary Databases

Databases 110 includes a set of one or more databases. Exemplary legaldatabases include a caselaw database and a statutes database, whichrespectively include judicial opinions and statutes from one or morelocal, state, federal, and/or international jurisdictions. Exemplarylegal databases also include legal classification databases and lawreviews. Other exemplary databases provide attorney, judge, law firm,product, and corporate profiles. In some embodiments, the caselawdocuments are logically associated via a data structure with documentsor profiles in other databases. Other embodiments may include non-legaldatabases that include financial, scientific, or health-careinformation. Still other embodiments provide public or privatedatabases, such as those made available through INFOTRAC. Someembodiments also include web sites and web pages.

Databases 110, which take the exemplary form of one or more electronic,magnetic, or optical data-storage devices, include or are otherwiseassociated with respective indices (not shown). Each of the indicesincludes terms and phrases in association with corresponding documentaddresses, identifiers, and other conventional information. Databases110 are coupled or couplable via a wireless or wireline communicationsnetwork, such as a local-, wide-, private-, or virtual-private network,to server 120.

Exemplary Server

Server 120, which is generally representative of one or more servers forserving data in the form of webpages or other markup language forms withassociated applets, ActiveX controls, remote-invocation objects, orother related software and data structures to service clients of various“thicknesses.” More particularly, server 120 includes a processor module121, a memory module 122, a subscriber database 123, search modules orengines 124, and a content-relevancy module 125.

Processor module 121 includes one or more local or distributedprocessors, controllers, or virtual machines. In the exemplaryembodiment, processor module 121 assumes any convenient or desirableform.

Memory module 122, which takes the exemplary form of one or moreelectronic, magnetic, or optical data-storage devices, stores subscriberdatabase 123, primary search module 124, secondary search module 125,and search enhancement module 126.

Subscriber database 123 includes subscriber-related data forcontrolling, administering, and managing pay-as-you-go orsubscription-based access of databases 110. In the exemplary embodiment,subscriber database 123 includes one or more preference data structures,of which data structure 1231 is representative. Data structure 1221includes a customer or user identifier portion 1231A, which is logicallyassociated with one or more user data fields or preferences, such asfields or preferences 1231B, 1231C, and 1231D. Field 1231B includes dataregarding the profession of the user. Field 1231C includes demographicdata regarding the user. Field 1231D includes data regarding onlinebehavior of the user. (In the absence of a temporary user override, forexample, an override during a particular query or session, the defaultvalue for the user preference governs.)

Search module 124 includes one or more search engines and relateduser-interface components, for processing queries against one or more ofdatabases 110. In some embodiments, one or more search enginesassociated with search module 124 provide Boolean, tf-idf,natural-language search capabilities, or search engines specialized forsearching multi-media or types of content. In the exemplary embodiment,search engines are regarded as third-party, commodity black-boxcomponents or environments that are selected according to the desires(explicit or derived) of the user and/or requesting application. In theabove figure, the search engines are coupled directly or operatively toone or more corresponding databases (not shown). In some embodiments,two or more of the search engines are coupled to the same database;whereas in other embodiments, the search engines are each coupled toseparate and independent databases. In some instances, the databases areunder control or ownership of third-parties.

Content-relevancy module 125 includes machine readable and/or executableinstruction sets for enhancing the relevancy of content provided tousers in response to their queries. To this end, content-relevancymodule 125 includes a pre-processor module 1251, a switchboard module1252, and a post-processor module 1253.

In general, the function pre-processor module 1251 is to process a userinput query, refine it, make suggestions of alternatives, classify thequery using language processing, and select the appropriate contentsources or search engines. Switchboard module 1252 converts the refinedquery and associated information developed by pre-processor module 1251to administer one or more searches, and collect the search results.Post-processor 1253 refines the search results, modifying the order ofresults, removing inappropriate or undesirable content, and/or applyinghistorical performance analysis to improve the relevance of theinformation ultimately presented to a user of an access device, such asaccess device 130. (More detailed description of the function andfeatures of the modules within content-relevance module 125 is providedbelow.)

Exemplary Access Device

Access device 130 is generally representative of one or more accessdevices. In the exemplary embodiment, access device 130 takes the formof a personal computer, workstation, personal digital assistant, mobiletelephone, or any other device capable of providing an effective userinterface with a server or database. Specifically, access device 130includes a processor module 131 one or more processors (or processingcircuits) 131, a memory 132, a display 133, a keyboard 134, and agraphical pointer or selector 135.

Processor module 131 includes one or more processors, processingcircuits, or controllers. In the exemplary embodiment, processor module131 takes any convenient or desirable form. Coupled to processor module131 is memory 132.

Memory 132 stores code (machine-readable or executable instructions) foran operating system 136, a browser 137, and a graphical user interface(GUI) 138. In the exemplary embodiment, operating system 136 takes theform of a version of the Microsoft Windows operating system, and browser137 takes the form of a version of Microsoft Internet Explorer.Operating system 136 and browser 137 not only receive inputs fromkeyboard 134 and selector 135, but also support rendering of GUI 138 ondisplay 133. Upon rendering, GUI 138 presents data in association withone or more interactive control features (or user-interface elements).(The exemplary embodiment defines one or more portions of interface 138using applets or other programmatic objects or structures from server120 to implement the interfaces shown above or described elsewhere inthis description.)

In the exemplary embodiment, each of these control features takes theform of a hyperlink or other browser-compatible command input, andprovides access to and control of a query region 1381 and asearch-results region 1382. User selection of the control features inregion 1382, specifically input of a textual query into input field1381A and submission of the query to server 120 via actuation of submitbutton 1381B, results in presentation of search results list 1382A inresults region 1382. Selection of a listed document from list 1382Aresults in retrieval of and display of at least a portion of thecorresponding document within a region of interface 138 (not shown inthis figure.) Although FIG. 1 shows region 1381 and 1382 as beingsimultaneously displayed, some embodiments present them at separatetimes.

Exemplary Method(s) of Operation

FIG. 2 shows a flow chart 200 of one or more exemplary methods ofoperating a system, such as system 100. Flow chart 200 includes blocks210-250, which are arranged and described in a serial execution sequencein the exemplary embodiment. However, other embodiments execute two ormore blocks in parallel using multiple processors or processor-likedevices or a single processor organized as two or more virtual machinesor sub processors. Other embodiments also alter the process sequence orprovide different functional partitions to achieve analogous results.For example, some embodiments may alter the client-server allocation offunctions, such that functions shown and described on the server sideare implemented in whole or in part on the client side, and vice versa.Moreover, still other embodiments implement the blocks as two or moreinterconnected hardware modules with related control and data signalscommunicated between and through the modules. Thus, the exemplaryprocess flow applies to software, hardware, and firmwareimplementations.

In block 210 the method begins with receiving a query from a user. Inthe exemplary embodiment, this entails a user using a browser capabilityin access device 130 to access online information-retrieval system 100,specifically server 120 using a conventional login process. Once loggedin, a user interface, such as interface 138 is rendered, enabling theuser to define and submit a query to server 120. Execution proceeds toblock 220.

Block 220 entails pre-processing the received query along with relateduser information. In the exemplary embodiment, pre-processing of thequery occurs within pre-processor module 1251 of content-relevancymodule 125 in server 120. However, in some embodiment, pre-processormodule may be located in whole or in part within access device 130 orwithin a separate server. Pre-processing entails parsing the query andrelated information to separate out specific query term syntacticelements for additional processing. This additional processing caninclude one or more of the following:

-   -   Selecting of one or more ontologies or taxonomies based on the        provenance of the requesting application (q.v. selection of the        KeySearch for general predefined queries from an online legal        research system such as Westlaw, selection of West Legal        Directory for queries coded with a field of attorney or judge,        or selection of West Medical Taxonomy for queries coming from a        malpractice tab of an online research system).    -   Expanding and/or refining the query to include appropriate        broader content topics or concepts as well as more specific        topics or query terms. For example, assume a query of the single        term “maple”. Via the syntactic relationships derived from the        taxonomies and other data structures, additional query terms        such as “Acer”, “Maple Sugar”, “Maple Leaf”, “Hockey” and “Maple        Leaf Hockey Team” “Toronto Sports Teams” might be added        depending on the taxonomy(s) selected in a previous step.    -   Expanding and refining the query to change or select various        content sources or search engines by associating the query terms        with information found in the taxonomies or ontologies. For        example, a query including the term SBX might automatically        assign the query to a search engine with better financial        coverage or to a SEC filing content source rather than a general        purpose search engine. In some embodiments, pre-processor module        1251 uses the information in the query and, optionally,        additional information (for example, user or workflow context        information) passed by the requesting client application,        refines the query. Exemplary refinement includes tailoring the        query to the profession, demography, behavior, and/or other        defining characteristic of the original user (as indicated in        the context information or as may be associated with a user        access credentials for the information-retrieval system.).        Pre-processor module 1251 also selects one or more appropriate        search engines based on an analysis of the information held in        the refined query and its related data.    -   Correcting the query terms for spelling, case, and syntax,        depending on both dictionary lookup information and the taxonomy        or other semantic lookup method used (q.v. “Aser Palmatum” is        corrected to “Acer palmatum” if an taxonomy associated with tree        pathology is selected in a prior step or converted to the single        query term “Ace” if an ontology associated with gaming is        selected.)

To support these activities, pre-processor module 1251 includes avariety of taxonomies, ontologies, folksonomies, synonym lists, reservedor restricted term lists, stop word lists classification algorithms, andsemantic tools for processing received queries. Data structures for thetaxonomies, ontologies, and so forth may be editorially orprogrammatically populated and may consist of proprietary and/or publicdomain data. These structures may be shared among all clients accessingpre-processor module 1251 or restricted to specific requestingapplications or clients. These structures may be fixed in that they arenot subject to feedback from other components or they may be adaptive inthat the contribution they provide for an algorithmic choice may changebased on user feedback or input. Each of the various data structureshave one or more algorithms for associating specific query terms orsemantic elements to the entries in the various data structures. Suchrelationships maybe combined to produce stronger or weakerrecommendations for any of the methods of refining the query mentionedabove.

Pre-processor module 1251 also includes functionality for sendingclarification and feedback messages back to the user prior to executingthe query. Such messages for relevance clarification allow the user torefine their query before incurring the expense of actually running oneor more searches. For example, in response to a query including the termSalvia, the pre-processor module can request the user for clarificationof whether he is interested in “Hallucinogenic Substances” (based on arelated concept entry for “Salvia Divinorum” in a legal taxonomy). Suchclarification messaging are made to the requesting application with thenotion that the resulting clarifications (if any) serve as grist forrecursive processing of the query before passing it and any related dataover to the Switchboard component for forwarding to appropriate searchengines.

Pre-processor module 1251 keeps a record of selected operationsperformed on the input query and the refined query as well as a recordof taxonomies, content sources, and/or search engines selected, passingthe information to the Switchboard component. Pre-processor module 1251s also provides a mechanism for updating adaptive taxonomies and similarsemantic relationship data structures by receiving feedback from thePost-Processor. Such feedback may be used to dynamically alter theweights of any given factor used to select related terms, refineconcepts or queries, or select content sets or search engines. Afterpre-processing of the query, execution continues at block 230.

Block 230 entails collecting search results based on the refined orpreprocessed query. In the exemplary embodiment, this entails thepre-processor module forwarding the refined or pre-processed query andrelated information to switchboard module 1252. In turn, switchboardmodule 1252 forwards the refined query to one or more search enginesidentified by preprocessor module 1251. (In the exemplary embodiment theswitchboard module and the pre-process are implemented using the sameserver; however, in other embodiments they may be distributed.)

More specifically, the exemplary switchboard module performs severalfunctions with the preprocessed query and related information as input:

-   -   Converting the refined query and related data to the syntax        required for one or more search engines;    -   Submitting the syntactically correct refined query to one or        more search engines;    -   Caching the query and related data, including search engine        selection analysis and parameterization;    -   Waiting for query results to return from one or more search        engines according to a set of defined parameters;    -   Gathering the search results from one or search engines    -   Organizing and/or federating the results from one or more search        engines    -   Passing the search engine results and the related data to        post-processor module 1253.

Switchboard module 1252 also provides a feedback channel for takinginformation from the post-processor and returning it to pre-processormodule 1251. Such feedback data is used to continually refine andenhance the functionality of pre-processor module 1251 by tuning thetaxonomies, ontologies, classification schemes, and semantic analysistechniques used in refinement of later queries. Execution continues atblock 240.

Block 240 entails post-processing of the search results. To this end inthe exemplary embodiment, post-processor 1253 takes as input one or moresearch results, as well as the refined query and its relatedinformation. It then performs a variety of taxonomic, semantic,syntactic, classification, and combinatorial operations on the searchresult(s), eventually creating a new, highly refined result. The refinedresult, possessing significantly more targeted, relevant results for theuser, is then passed back to the requesting application which thenpasses it back to the user.

To accomplish this, the post-processor module may perform a number ofoperations including:

-   -   Federating the results from one or more search engines using a        variety of algorithmic and/or user interaction methods;    -   Formatting the results according to a generic template or one        provided by the requesting application;    -   Collecting and holding feedback information provided by the        requesting application    -   Refining its own taxonomic, semantic, syntactic, classification        and combinatorial operations based on the feedback;    -   Returning the feedback information to the pre-processor module        via the switchboard module for eventual refinement of        pre-processing operations;    -   Logging the execution of the query, the refinements made to the        results, and the result itself;    -   Monitoring and recording the reception and disposition of        feedback from the requesting application.

To facilitate reordering and/or redacting or more generally refining thecollected search results, post-processor module 1253 also includes aseries of data structures. These data structures, which are stored in amemory of or otherwise associated with the post-processor module, mayinclude various white lists (web sites of known high relevance), blacklists (sites to be redacted from result lists), as well as datastructures and methods for relating specific terms or topics toparticular domains, sub-domains, pages, and/or content types. Suchrelationships between topics and sites on the Internet (characterized bya Uniform Resource Name) maybe created editorially, programmatically byderiving them from one or more ontologies, or taxonomies, and/oradaptively from data provided by user interaction.

FIG. 3 shows one exemplary implementation of three-dimensional datastructure, referred to herein as a relevance cube 300. Cube 300 isdivided into cells with the x-value of any specific cell in the cubeproviding a list of URL locations, the y-axis consisting of one or moreconcepts or terms associated with the relevance and the content of thecube include some weight value.

A field of cells may be defined by deriving the terms from a taxonomy toprovide the list of terms along the y-axis of the stack and a list of“white” (highly relevant) sites along the x-axis. Several fields ofcells maybe combined to form a preference cube, associated with aspecific user, for example in a user data structure stored in subscriberdatabase 123. When the post-processor analyzes a raw result set returnedfrom a search engine, an algorithm breaks it down into individual searchresults associated with a particular result location to which it points,a title, relevance value, and perhaps a snippet of surrounding text.

One embodiment provides another algorithm to scan the individual searchresults for the location to which it points. If one of the locations isfound, the query terms, the page title, and/or any terms in theindividual result snippet set are compared with the topic terms toproduce one or more derived terms. If an intersection for the locationalong the x-axis and the derived terms along the y-axis exists, theweight in the corresponding cell is looked up and then be multipliedwith a conventional relevance score for the particular result. The newlyweighted scores can then be used to bubble the individual search resulthigher or lower to produce the new refined search result.

Fields may be combined to produce cubes. By traversing along the z-axisthrough the cube while holding the x- and y-values constant, a combinedweight can be derived for a particular topic/location combination. Sucha combined weight can be used to reflect numerous additional criteria atthe same time.

In the example of FIG. 3, four fields of cells are shown: editorial,click-through, social, and user. The editorial field is creatededitorially by deriving the topics from a fixed taxonomy and combiningthose with selected locations on the World Wide Web. Its weightingvalues are static in the sense that are not subject to change by userfeedback. However the entire field may grow or shrink when additionaltopics are added to the topology or additional locations are added.

The click-through field is a derived field. It initially consists of noweights but is populated when an individual user clicks through from asearch result into a particular document page. Such a click throughevidences some decision by a particular user that this page has a highervalue than others in a particular search result and hence deserves ahigher weighting when subsequent searches results are created by otherusers. The click through is fed back from the access device to theserver and ultimately to the post-processor module. The net of thisactivity is to raise or lower the weight of a particular cell in thisfield.

The social field is a derived field. Like the click-through field it isinitially blank but populated when users specifically give feedback thatthe result set is particularly relevant to the terms in the refinedquery. In such cases, the weights in multiple topic/location cells areraised or lowered to express the user preference.

The user field is a derived field. Like other derived fields it isinitially blank but can be populated by the user activity in a varietyof ways. For example a particular customer firm or user may block outlists or sites so that they are not included in refined results at all(q.v. black list the sites), raise the value of certain sites as highlyrelevant to them (q.v. white list the site), and block out or enhancethe weights of various topic terms. In such cases the resulting fieldmay be made highly specific to a particular customer, company, or evenrequesting application.

Note that there is no limiting factor on the number of criteria that maybe expressed as a particular field. A relevance field may consist of anarbitrary number of topics and locations. Similarly a relevance cube mayconsist of N arbitrary fields. Note also that different requestingapplications may share one or more relevance cubes. Similarly aparticular application may restrict itself to a one or more selectedcubes, some of which may be proprietary to it alone.

After post-processing of the search results in block 240 to produce arefined set of search results, execution continues at block 250. Block250 entails presenting the refined search results to the use via agraphical user interface such as interface 138 of access device 130 inFIG. 1. As noted above, user interaction with the search results isultimately fed back to post-processor to enable refinement of relevanceweights.

Exemplary Data Flow

FIG. 4 shows an alternative block diagram of a portion of system 100,highlighting various data flows between components of content-relevancymodule 125, search engines 124, and access device 130. Notably, FIG. 4shows flow of a raw query 410 from access device 130 to pre-processormodule 1251, and a refined query 420 from pre-processor module 1251 toswitchboard module 1252. Switchboard module 1252 communicates therefined query and receives search results from search engines 124,aggregating and passing the received results in the form of raw searchresults 430 to post-processor module 1253. After post-processing,post-processor module 1253 communicates the results as relevant searchresults 440 to access device 130. Additional data flows, in theexemplary system, include query feedback data 450 from access device 130to pre-process module 1251 through switchboard module 1252 topost-processor module 1253. Result feedback data 460 flows from accessdevice 130 to post-processor module 1253, facilitating adjustment ofweights within relevance cubes 1253A.

CONCLUSION

The embodiments described above are intended only to illustrate andteach one or more ways of practicing or implementing the presentinvention, not to restrict its breadth or scope. The actual scope of theinvention, which embraces all ways of practicing or implementing theteachings of the invention, is defined only by the issued claims andtheir equivalents.

1. A system comprising: a legal-research database including caselawdocuments and statutory documents; a server operatively coupled to thelegal-research database for receiving and answering queries for contentfor browser-equipped client access devices, wherein the server isfurther configured with: means for pre-processing or refining a userinput query by make suggestions of alternatives queries, classifying thequery using language processing, or selecting one or more portions ofthe legal-research database or one or more search engines to receive therefined query; switchboard means for converting the refined query andassociated information developed by the pre-processor means,administering searches and collecting search results from search enginesbased on the refined query; means for post-processing or refining thecollected search results based on the refined input query, includingmeans for modifying the order of results, means for removinginappropriate or undesirable content from the results, or means forapplying historical performance analysis in presenting search results tousers.
 2. The system of claim 1, wherein the legal-research databaseinclude legal brief documents and law-review documents;
 3. The system ofclaim 1, wherein the means for pre-processing includes a legal topicclassification system.
 4. The system of claim 1, wherein the means forpost-processing or refining the collected search results includes amulti-dimensional data structure relating topics in a taxonomy toUniform Resource Locators and associated relevance weighting factors. 5.A method of operating an online legal research system, the methodcomprising: receiving a query for legal research information from aclient access device communicating via a computer network; obtainingsearch results based on the query, with the search results having afirst ordering based on a first relevance ranking; automaticallymodifying the search results based on predetermined relevance criteria;and communicating the modified search results to the client accessdevice.
 6. The method of claim 5, wherein obtaining search results basedon the query includes refining the query by prompting a user of theclient access device to respond to one or more questions, wherein thesearch results are based on the refined query.
 7. The method of claim 5,wherein automatically modifying the search results includes excludingone more items from the search results based on a predetermined list ofUniform Resource Locators.
 8. The method of claim 5, whereinautomatically modifying the search results includes adding one moreitems from the search results based on a predetermined list of UniformResource Locators.
 9. The method of claim 5, wherein automaticallymodifying the search results includes reordering one or more items inthe list based on predetermined relevance criteria.
 10. The method ofclaim 5, wherein the predetermined relevance criteria are based in parton historical usage statistics associated with one or more UniformResource Locators.